home *** CD-ROM | disk | FTP | other *** search
/ TeX 1995 July / TeX CD-ROM July 1995 (Disc 1)(Walnut Creek)(1995).ISO / macros / latex209 / contrib / misc / boxedminipage.sty < prev    next >
Text File  |  1993-04-01  |  3KB  |  72 lines

  1. %%% ====================================================================
  2. %%%  @LaTeX-style-file{
  3. %%%     author          = "Mario Wolczko",
  4. %%%     version         = "2",
  5. %%%     date            = "21 May 1992",
  6. %%%     time            = "20:55:01 BST",
  7. %%%     filename        = "boxedminipage.sty",
  8. %%%     address         = "Dept of Computer Science
  9. %%%                        The University of Manchester
  10. %%%                        Oxford Road
  11. %%%                        Manchester M13 9PL
  12. %%%                        UK",
  13. %%%     telephone       = "+44-61-275-6146",
  14. %%%     FAX             = "+44-61-275-6236",
  15. %%%     checksum        = "04781 71 253 2587",
  16. %%%     email           = "mario@cs.man.ac.uk (Internet)",
  17. %%%     codetable       = "ISO/ASCII",
  18. %%%     keywords        = "LaTeX, minipage, framebox",
  19. %%%     supported       = "yes",
  20. %%%     docstring       = "LaTeX document-style option which defines
  21. %%%     the boxedminipage environment -- just like minipage, but with
  22. %%%     a box around it.",
  23. %%%  }
  24. %%% ====================================================================
  25. %
  26. % The thickness of the rules around the box is controlled by
  27. % \fboxrule, and the distance between the rules and the edges of the
  28. % inner box is governed by \fboxsep.
  29. %
  30. % This code is based on Lamport's minipage code.
  31. %
  32. % Fixed, 7 Jun 89 by Jerry Leichter
  33. %    Leave \fboxsep worth of separation at top and bottom, not just at
  34. %    the sides!
  35. %
  36. \def\boxedminipage{\@ifnextchar [{\@iboxedminipage}{\@iboxedminipage[c]}}
  37.  
  38. \def\@iboxedminipage[#1]#2{\leavevmode \@pboxswfalse
  39.   \if #1b\vbox
  40.     \else \if #1t\vtop
  41.          \else \ifmmode \vcenter
  42.                \else \@pboxswtrue $\vcenter
  43.             \fi
  44.       \fi
  45.   \fi\bgroup % start of outermost vbox/vtop/vcenter
  46.     \hsize #2
  47.     \hrule\@height\fboxrule
  48.     \hbox\bgroup % inner hbox
  49.       \vrule\@width\fboxrule \hskip\fboxsep \vbox\bgroup % innermost vbox
  50.     \vskip\fboxsep
  51.     \advance\hsize -2\fboxrule \advance\hsize-2\fboxsep
  52.     \textwidth\hsize \columnwidth\hsize
  53.     \@parboxrestore
  54.     \def\@mpfn{mpfootnote}\def\thempfn{\thempfootnote}\c@mpfootnote\z@
  55.     \let\@footnotetext\@mpfootnotetext
  56.     \let\@listdepth\@mplistdepth \@mplistdepth\z@
  57.     \@minipagerestore\@minipagetrue
  58.     \everypar{\global\@minipagefalse\everypar{}}}
  59.  
  60. \def\endboxedminipage{%
  61.     \par\vskip-\lastskip
  62.     \ifvoid\@mpfootins\else
  63.       \vskip\skip\@mpfootins\footnoterule\unvbox\@mpfootins\fi
  64.     \vskip\fboxsep
  65.       \egroup % ends the innermost \vbox
  66.       \hskip\fboxsep \vrule\@width\fboxrule
  67.     \egroup % ends the \hbox
  68.     \hrule\@height\fboxrule
  69.   \egroup% ends the vbox/vtop/vcenter
  70.   \if@pboxsw $\fi}
  71.  
  72.